<html>
 <head>
  <link href="./leetcode-problem.css" rel="stylesheet" type="text/css">
 </head>
 <body>
  <div class="question_difficulty">
   难度：Medium
  </div>
  <div>
   <h1 class="question_title">
    878. Shifting Letters
   </h1>
   <p>
    We have a string
    <code>
     S
    </code>
    of lowercase letters, and an integer array
    <code>
     shifts
    </code>
    .
   </p>
   <p>
    Call the
    <em>
     shift
    </em>
    of a letter, the next letter in the alphabet, (wrapping around so that
    <code>
     'z'
    </code>
    becomes
    <code>
     'a'
    </code>
    ).&nbsp;
   </p>
   <p>
    For example,
    <code>
     shift('a') = 'b'
    </code>
    ,
    <code>
     shift('t') = 'u'
    </code>
    , and
    <code>
     shift('z') = 'a'
    </code>
    .
   </p>
   <p>
    Now for each
    <code>
     shifts[i] = x
    </code>
    , we want to shift the first
    <code>
     i+1
    </code>
    &nbsp;letters of
    <code>
     S
    </code>
    ,
    <code>
     x
    </code>
    times.
   </p>
   <p>
    Return the final string&nbsp;after all such shifts to
    <code>
     S
    </code>
    are applied.
   </p>
   <p>
    <strong>
     Example 1:
    </strong>
   </p>
   <pre>
<strong>Input: </strong>S = "abc", shifts = [3,5,9]
<strong>Output: </strong>"rpl"
<strong>Explanation: </strong>
We start with "abc".
After shifting the first 1 letters of S by 3, we have "dbc".
After shifting the first 2 letters of S by 5, we have "igc".
After shifting the first 3 letters of S by 9, we have "rpl", the answer.
</pre>
   <p>
    <strong>
     Note:
    </strong>
   </p>
   <ol>
    <li>
     <code>
      1 &lt;= S.length = shifts.length &lt;= 20000
     </code>
    </li>
    <li>
     <code>
      0 &lt;= shifts[i] &lt;= 10 ^ 9
     </code>
    </li>
   </ol>
  </div>
  <div>
   <h1 class="question_title">
    878. 字母移位
   </h1>
   <p>
    有一个由小写字母组成的字符串
    <code>
     S
    </code>
    ，和一个整数数组
    <code>
     shifts
    </code>
    。
   </p>
   <p>
    我们将字母表中的下一个字母称为原字母的
    <em>
     移位
    </em>
    （由于字母表是环绕的，
    <code>
     'z'
    </code>
    &nbsp;将会变成&nbsp;
    <code>
     'a'
    </code>
    ）。
   </p>
   <p>
    例如&middot;，
    <code>
     shift('a') = 'b'
    </code>
    ，&nbsp;
    <code>
     shift('t') = 'u'
    </code>
    ,， 以及&nbsp;
    <code>
     shift('z') = 'a'
    </code>
    。
   </p>
   <p>
    对于每个&nbsp;
    <code>
     shifts[i] = x
    </code>
    &nbsp;， 我们会将
    <code>
     S
    </code>
    &nbsp;中的前&nbsp;
    <code>
     i+1
    </code>
    &nbsp;个字母移位&nbsp;
    <code>
     x
    </code>
    &nbsp;次。
   </p>
   <p>
    返回将所有这些移位都应用到
    <code>
     S
    </code>
    后最终得到的字符串。
   </p>
   <p>
    <strong>
     示例：
    </strong>
   </p>
   <pre><strong>输入：</strong>S = "abc", shifts = [3,5,9]
<strong>输出：</strong>"rpl"
<strong>解释： </strong>
我们以 "abc" 开始。
将 S 中的第 1 个字母移位 3 次后，我们得到 "dbc"。
再将 S 中的前 2 个字母移位 5 次后，我们得到 "igc"。
最后将 S 中的这 3 个字母移位 9 次后，我们得到答案 "rpl"。
</pre>
   <p>
    <strong>
     提示：
    </strong>
   </p>
   <ol>
    <li>
     <code>
      1 &lt;= S.length = shifts.length &lt;= 20000
     </code>
    </li>
    <li>
     <code>
      0 &lt;= shifts[i] &lt;= 10 ^ 9
     </code>
    </li>
   </ol>
  </div>
 </body>
</html>